세미프로젝트1_02_중간 발표
GitHub: Tri-Best-3/tricrawl
발표 자료: Google Slides
대학생이 된 것 같다
딱 대학생 팀플 같은 기분이 들었다. 팀은 정해졌는데 시간은 짧았다. 팀원들의 역량과 배경도 제각각이라 어디까지 해낼 수 있을지 감이 잘 안 왔다. 그래서 처음부터 전략을 분명하게 잡아야 했다.
회의를 몇 번 해도 계속 갈팡질팡했다. 결론도 잘 안 났다. 그래서 결국 한 가지로 정리했다.
"일단 3일 동안 각자 방식대로 크롤러를 만들어오죠."
단순히 기능을 하나 만들어보자는 뜻은 아니었다. "저는 파이썬 해요", "저 크롤링 해봤어요" 같은 말은 협업에서 큰 의미가 없다. 실제 코드를 가져와야 서로의 수준을 객관적으로 볼 수 있다. 같은 "다크웹 크롤링"이라는 말을 어떤 방식으로 이해하고 있는지도 그때 드러난다. 누가 무엇을 잘하는지, 어떤 방식으로 사고하는지 알아야 역할 분담도 가능하다.
2-Track 전략
처음부터 트랙을 둘로 나눠 생각했다. 경험 있는 사람은 어려운 코어를 맡는다. 비숙련자도 그 위에 올라타서 기여할 수 있는 구조를 만들자는 생각이었다.
이 방식이 가장 단순하고 명확했다. 역할이나 할 일을 두고 오래 논쟁할 이유도 없었다. 어차피 다들 취업이나 포트폴리오를 위해 이 과정을 신청한 거다. 안 하면 손해는 결국 본인 몫이다. 적어도 "비전공자니까 안 하겠다" 같은 식으로 빠지지만 않으면 된다고 봤다.
- A-Track(Core & Infra): 오케스트레이터 코어, 인프라(Tor, Docker), 알림 시스템 구축
- B-Track(Expansion): 타겟 사이트 분석, 스파이더 양산, 파이프라인 개선
핵심은 코어를 확장성 있게 설계해서 다른 사람이 모듈처럼 쉽게 붙을 수 있게 만드는 것이었다. 이 아키텍처를 잡는 데 시간을 꽤 썼다.
결과적으로 "적당히 동작하는" 크롤러는 하나 만들어냈다. 다들 가져온 결과물이 아주 만족스럽진 않아서 결국 내 쪽을 기준으로 가자고 밀었다. 어차피 남은 일은 스파이더를 늘리는 거였다. 코드가 조금 지저분하더라도 필요한 필드를 안정적으로 뽑아낼 수만 있으면 일단 운영은 된다.
이제 여기서 수집한 데이터로 대시보드를 만들고 의미 있는 형태로 보여주기만 하면 된다. 그다음 도커라이즈하고 발표하면 1차 마무리다.
물론 여전히 시간이 촉박하고 의견 정리도 쉽지 않다. 그래도 결국 누군가는 방향을 잡아야 한다. 당장은 내가 조금 더 하는 수밖에 없다고 봤다.